1. Field of Invention
A method according to the present invention relates to dialog control between a customer and voice-operated information, news and connection services which are provided as services by service providers and implemented using computer-supported telephony.
2. Background Information
Voice-processing systems, particularly in the telecommunications sector, are becoming increasingly popular. In the United States, many such automatic information, news and connection services are part of everyday life. As a result, a number of companies, whose products are based on voice-processing technology, have already established themselves in this market. In implementing such services, the software components, with their run-time system and dialog editor, are very important.
Methods and systems for controlling automatic telephone dialogs have existed for about twenty years now. In this context, various basic architectures are distinguished, such as:
Systems and methods which exclusively control the voice data stream, as is, e.g., in telephone exchanges; and
Systems and methods which process the voice data stream themselves.
Systems and methods which process the voice data stream themselves are oriented to the dialog between user and machine. The more closely a method or system conceived in this manner approaches human dialog behavior and human interaction, the more effective it becomes. Of course, such methods or systems can also control telephone calls, i.e., dial, switch and so on. The method steps used here correspond to the procedure of a human user when calling.
These kinds of approaches have evolved in steps, from systems that are programmed on a completely individual basis to systems that are programmable in an application-oriented manner using scripting languages.
Currently existing systems are characterized by:
Text-based scripting languages that are close to the hardware;
Graphical description languages that were added on subsequently to the scripting languages;
Representation of the dialog as a strictly hierarchically structured execution sequence for general usage or as rule-based linguistic systems for use in research;
Implementation close to hardware for specific components in a closed system world;
Sequential development processes with poor test and correction possibilities; and
Complexity of the created applications due to lack of structuring means in the application definition.
PCT International Application No. 96 05685 describes a scripting system or rather a scripting method which offers a graphical user interface which enables the user to create, process and execute telephone scripts for use by an agent in the provision of information to a customer. In the system, a graphical WINDOWSR user interface is used for defining the fields within a script and the interrelations of the fields. The individual fields contain action objects such as a dialog for use with a customer and possible responses to customer questions. The system allows the user to create dialogs that contain information gathered from a database. Thus, each script is formed substantially in real-time in a customer-specific manner and contains data that relate to the individual customer and the agent which is in dialog with the customer. Additional action objects such as customer responses lead to the script branching off in different directions that are determined by the user. The system can be implemented either with a main computer or a number of workstation computers of the agents or it can be implemented in a network in which the scripts are contained in a network server and the agent workstations are coupled to the network.
European Patent No. 0 664 635 describes an automatic ordering system in communications switching stations. A voice recognizer is connected to the connection to an order server provided within the switching system. The voice recognizer recognizes individual keywords from the voice utterances made by a user via a calling connection instrument and stimulates a dialog control located in the order server. The dialog control controls in response a call number memory, a call number corresponding to the recognized keyword being read out which is used to establish a connection to a position taking this order.
In each case, these systems exhibit serious defects with respect to individual parameters. Systems having a sophisticated dialog language are usually highly hardware-dependent or require very significant computing expenditure. See Proceedings of Eurospeech xe2x80x9c93xe2x80x9d 2(3), CT. 943-946 xe2x80x9cDialogue Design Principlesxe2x80x9d.
Systems having an architecture designed for significant parallelism and mass telephony are difficult to modify in terms of their architecture and, moreover, are very rigid in their dialog behavior. See Rabiner, Applications of Voice Processing to. Telecommunications Proceedings of the IEEE, vol. 82, no. 2, February 1994.
An object of the present invention is to delineate a method for controlling the hardware component used for the dialog between user/machine that is suitable for operating voice-operated information, news and connection services incorporating computer-supported telephony (CTI). The method should be suitable, in particular, for information, news and connection services that are based on very significant parallelism and are oriented towards mass telephony, and the architecture underlying the method should be easily expandable and developed with flexible dialog control, so that rapid access by the customers to the desired information is possible.
The method according to the present invention is implemented using a control program created by a service developer with the aid of a graphical editor in the form of a flow chart, in which the user/machine dialog control provides an execution routine such that simultaneous parallel control of all information input modules and information output modules involved within the framework of the concrete service offering in the querying and in the information exchange with the customer, and the individual switching off and an orderly resetting of all modules no longer needed within the framework of the querying and the information exchange with the customer are possible.
The control program designed as a flow chart is based on the description of the desired dialogs for the information exchange between user and machine with the aid of actions and previously described subdialogs by defining sequences of actions, indicating parallel actions within a dialog and defining general event handlings, interpreting the described dialogs on a computer system with a control module for controlling the resources which provides an S.100 interface/S.300 interface, the interpretation being performed in parallel as often as necessary independent of the number of telephone lines.
The control program/flow chart created according to the above principles is integrated into the console management of a service supplier/provider.
When a call from a customer is present at the service supplier, following successful identification of the customer with respect to the system of the service supplier via the control program/flow chart tailored to the respective application, all CTI information input modules and CTI information output modules that the customer needs for information and for communication with the system and particularly for input of the customer""s wish for information are started so that they are simultaneously available to the customer.
As CTI modules, the following are understood in the sense of the present invention:
Modules for outputting information to the customer (information output modules) and
Modules for inputting information or rather the customer""s wishes into the system (information input modules).
CTI modules, include, for example:
Voice recognition modules/ASR modules
Voice output modules
Fax modules
Telephony modules
Voice verification modules.
As information output modules for outputting information to the customer, e.g., recorded announcements, players (for example) in which individually controllable recorded announcements are stored are suitable. Information input modules for inputting customer wishes can be, for example, keyboards or modules for voice recognition.
For determining the customer wishes in the user/machine dialog, for example, a module for active voice recognition (ASR module) is started and likewise made available to the customer in parallel to the other CTI modules. The flow chart is designed such that the customer can actively interrupt during the welcome a recorded announcement executing as an interrogation routine with customer information that is played by a voice output module formed as a player for outputting recorded announcements by expressing the customer""s information wish via the input possibilities available to the customer, preferably voice. Via the voice recognition module following in parallel, this wish is received and compared with stored information. If a wish is recognized, e.g., using a keyword uttered by the customer, the recorded announcement is immediately interrupted, controlled via the control program/flow chart, and the information output module reset. The control program/flow chart is designed such that in the case in which one of the parallel connected CTI modules is triggered/addressed or actuated by the customer, all parallel connected CTI modules are reset and switched off. If the information input by the customer is already sufficient to determine the information desired by the customer, then the desired information is provided to the customer. This can take place, for example, in an announcement service via voice output to the customer.
If the information input hitherto by the customer is not yet sufficient to determine the information desired by the customer, the interrogation routine is reactivated via the control program/flow chart, again all CTI modules involved in the customer query, as previously described, are restarted in parallel and made available to the customer. The information output module, e.g., a player, is started in the place of the recorded announcement that is based on the information already received by the customer in the aim of making this more precise. In this place also, the customer can again interrupt the execution process of the interrogation routine by inputting further information, making the customer""s information wish more precise. Then after inputting information of the customer recognized as valid via the voice recognition module (ASR module), all other parallel active CTI modules are again orderly reset and switched off.
The dialog is continued according to the above principles until the information desired by the customer can be determined. Reaction can occur globally or specifically in the dialog to abort conditions of the CTI modules or to premature aborting through customer input, this being enabled in the editor through a global dialbox.
In an embodiment according to the present invention, a method is explained in greater detail based on the description of a dialog between a customer and a computer-telephony-based enquiry and information service of a service supplier/service provider. The embodiment is intended to be merely illustrative and is not intended to limit the scope of the present invention.